﻿@{
    var X = Html.X();
}

@(
 X.Window()
        .ID("winRegistrarVehiculoAbonado")
        .Title("Nuevo vehiculo")
        .Resizable(false)
        .Icon(Icon.UserAdd)
        .Layout(LayoutType.Fit)
        .Width(480)
        .Modal(true)
        .Constrain(true)
        .BodyPadding(5)
        .Items(
            X.Hidden().ID("cambios").Value(false),
            X.FormPanel()
                .ID("formRegistrarVehiculoAbonado")
                .Layout(LayoutType.Form)
                .BodyPadding(5)
                .FieldDefaults(fieldDefaults => { fieldDefaults.LabelWidth = 130; })
                .Items(
                    X.ComboBox()
                        .ID("clienteId")
                        .FieldLabel("Abonado")
                        .QueryMode(DataLoadMode.Remote)
                        .AllowBlank(false) 
                        .ForceSelection(true)
                        .DisplayField("nombre")
                        .ValueField("cliente_id")
                        .EmptyText("Seleccione...")
                        .PageSize(10)
                        .MinChars(0)
                        .QueryParam("filtro")
                        .TriggerAction(TriggerAction.Query)
                        .ListConfig(
                            Html.X().BoundList()
                                .LoadingText("Buscando...")
                                .ItemTpl(
                                    Html.X().XTemplate()
                                        .Html(@<text>
                                        <div class="search-item">
                                            <h3><span>{tipo_documento_identidad}:{numero_documento_identidad}</span>{nombre}</h3>
                                            Direccion: {pais}-{direccion}
                                        </div>
                                        </text>)
                                )
                        )
                        .Store(
                            X.StoreFor(typeof(PcaSocios.BOL.oVwCliente))
                                .AutoLoad(false)
                                .Proxy(X.AjaxProxy()
                                    .Url(Url.Action("GetList", "Cliente", new {area = "Socios" }))
                                    .Reader(X.JsonReader().RootProperty("data"))
                                )
                        )
                        .Listeners(l =>
                        {
                            l.SpecialKey.Handler = @"if(e.getKey() == e.ENTER){
                                                e.stopEvent();
                                                if(item.isValid()){
                                                    App.tipoVehiculoId.focus();
                                                }
                                            }";
                        }),
                    X.ComboBox()
                        .ID("tipoVehiculoId")
                        .FieldLabel("Tipo de vehiculo")
                        .QueryMode(DataLoadMode.Local)
                        .AllowBlank(false)
                        .ForceSelection(true)
                        .DisplayField("nombre")
                        .ValueField("tipo_vehiculo_id")
                        .EmptyText("Seleccione...")
                        .Store(
                            X.StoreFor(typeof(PcaCaja.BOL.oTipoMovimiento))
                                .AutoLoad(true)
                                .Proxy(
                                    X.AjaxProxy()
                                        .Url(Url.Action("GetList", "TipoVehiculo"))
                                        .Reader(X.JsonReader().RootProperty("data"))
                                )
                        )
                        .Listeners(l =>
                        {
                            l.SpecialKey.Handler = @"if(e.getKey() == e.ENTER){
                                                    e.stopEvent();
                                                    if(item.isValid()){
                                                        App.placa.focus();
                                                    }
                                                }";
                        }),
                    X.TextField()
                        .ID("placa")
                        .FieldLabel("Placa")
                        .MaxLength(20)
                        .AllowBlank(false)
                        .Cls("upperTxt")
                )
                .Buttons(
                    X.Button()
                        .Text("Registrar")
                        .Icon(Icon.Disk)
                        .DirectEvents(de =>
                        {
                            de.Click.Url = Url.Action("Registrar", "VehiculoAbonado");
                            de.Click.Method = HttpMethod.POST;
                            de.Click.Before = "PcaGlobal.fnValidarForm";
                            de.Click.Success = @"App.cambios.setValue(true);
                                                 App.formRegistrarVehiculoAbonado.reset();
                                                 App.clienteId.focus();";
                            de.Click.Failure = "PcaGlobal.showError(result.msg);";
                            de.Click.EventMask.ShowMask = true;
                            de.Click.EventMask.Msg = "Registrando...";
                        })
                )
        )
        .Listeners(l =>
        {
            l.Close.Handler = "if(App.cambios.getValue()=='true'){App.GridVehiculosAbonados.getSelectionModel().deselectAll(); App.storeVehiculosAbonados.load();}";
        })
)